package com.sdry.service.impl.lz;

import com.sdry.mapper.lz.DeviceFileMapper;
import com.sdry.model.lz.*;
import com.sdry.service.lz.DeviceFileService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import javax.annotation.Resource;
import java.util.List;

/**
 * @ClassName DeviceFileServiceImpl
 * @Description 设备档案
 * @Author lz
 * @Date 2018年9月25日 15:58:47
 * @Version 1.0
 */
@Service
@Transactional
public class DeviceFileServiceImpl implements DeviceFileService {

    @Resource
    DeviceFileMapper deviceFileMapper;
    /**
     * 新增设备档案信息
     * @param deviceFile
     * @return 影响行数
     */
    @Override
    public Long addDeviceFile(DeviceFile deviceFile) {
        return deviceFileMapper.addDeviceFile(deviceFile);
    }

    /**
     * 单个删除和批量删除
     * @param id 选中的ID
     * @return 影响行数
     */
    @Override
    public Long deleteDeviceFileById(long id) {
        return deviceFileMapper.deleteDeviceFileById(id);
    }

    /**
     * 根据ID修改设备档案信息
     * @param deviceFile 编辑行的数据
     * @return 影响行数
     */
    @Override
    public Long editDeviceFileById(DeviceFile deviceFile) {
        return deviceFileMapper.editDeviceFileById(deviceFile);
    }

    /**
     * 分页条件查询集合
     * @param criteria 分页条件
     * @return DeviceAccount
     */
    @Override
    public List<DeviceAccount> queryDeviceFile(LzQueryCriteria criteria) {
        return deviceFileMapper.queryDeviceFile(criteria);
    }

    /**
     * 分页条件查询条数
     * @param criteria 分页条件
     * @return 条数
     */
    @Override
    public int countDeviceFile(LzQueryCriteria criteria) {
        return deviceFileMapper.countDeviceFile(criteria);
    }

    /**
     * 根据当前设备ID查询与当前设备有关的附属设备
     * @param dId 当前设备ID
     */
    @Override
    public List<DeviceFileAttach> queryAttachDetailById(long dId) {
        return deviceFileMapper.queryAttachDetailById(dId);
    }

    /**
     * 添加设备附属信息
     * @return
     */
    @Override
    public Long addDeviceFileAttach(DeviceFileAttach deviceFileAttach) {
        return deviceFileMapper.addDeviceFileAttach(deviceFileAttach);
    }

    /**
     * 添加设备检修
     * @param deviceFileOverhaul
     * @return
     */
    @Override
    public Long addDeviceFileOverhaul(DeviceFileOverhaul deviceFileOverhaul) {
        return deviceFileMapper.addDeviceFileOverhaul(deviceFileOverhaul);
    }

    /**
     * 添加设备润滑
     * @param deviceFileLubricate
     * @return
     */
    @Override
    public Long addDeviceFileLubricate(DeviceFileLubricate deviceFileLubricate) {
        return deviceFileMapper.addDeviceFileLubricate(deviceFileLubricate);
    }

    /**
     * 根据当前设备ID查询与当前设备有关的检修详情
     * @param dId 当前设备ID
     */
    @Override
    public List<DeviceFileOverhaul> queryDeviceFileOverhaulById(long dId) {
        return deviceFileMapper.queryDeviceFileOverhaulById(dId);
    }

    /**
     * 根据当前设备ID查询与当前设备有关的润滑详情
     * @param dId 当前设备ID
     */
    @Override
    public List<DeviceFileLubricate> queryDeviceFileLubricateById(long dId) {
        return deviceFileMapper.queryDeviceFileLubricateById(dId);
    }
}
